package org.Shiikong_Memory.SakuraBlockFrame.CommandFramework;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 这是一个注解，用于定义命令的 Tab 补全信息。
 * 该注解可以应用于方法上，运行时可通过反射获取注解信息。
 *
 * @author Shiikong_Memory
 * @version 1.0
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface TabCompleteDef {
    /**
     * 指定需要应用 Tab 补全的参数名称。
     * @return 命令名称字符串
     */
    String command();

    /**
     * 指定该命令的 Tab 补全选项数组。
     * 默认值为空数组，表示没有预设的补全选项。
     * @return 补全选项字符串数组
     */
    String[] tab() default {};
}
